import store from '../store'

export function powerFun (data) { // 判断是否有操作权限
  const roleArr = store.getters.roles
  for (let i = 0; i < roleArr.length; i++) {
    if (roleArr[i] === data) {
      return true
    }
  }
  return false
}

// 手机号码验证-可以为空的
export function validateMobileIs (value, callback) {
  if (!value) {
    callback()
  } else if (!Number.isInteger((value - 0))) {
    callback(new Error('手机号码必须是数字'))
  } else if (value.toString().length !== 11) {
    callback(new Error('手机号码必须是11位'))
  } else {
    const reg = /^1[3|4|5|6|7|8|9][0-9]\d{8}$/
    if (reg.test(value)) {
      callback()
    } else {
      return callback(new Error('请输入正确的手机号'))
    }
  }
}
// 手机号码验证-不能为空的
export function validateMobile (value, callback) {
  if (!value) {
    callback(new Error('请输入手机号码'))
  } else if (!Number.isInteger((value - 0))) {
    callback(new Error('手机号码必须是数字'))
  } else if (value.toString().length !== 11) {
    callback(new Error('手机号码必须是11位'))
  } else {
    const reg = /^1[3|4|5|6|7|8|9][0-9]\d{8}$/
    if (reg.test(value)) {
      callback()
    } else {
      return callback(new Error('请输入正确的手机号'))
    }
  }
}

// 是否是数字-可以为空的
export function validateNumber (value, callback) {
  if (value) {
    if (!Number.isInteger((value - 0))) {
      callback(new Error('必须是数字'))
    } else {
      callback()
    }
  } else {
    callback()
  }
}
// 是否是数字-不能为空的
export function validateNumberIs (value, callback) {
  if (value) {
    if (!Number((value - 0)) && Number((value - 0)) !== 0) {
      callback(new Error('必须是数字'))
    } else {
      callback()
    }
  } else {
    callback(new Error('不能为空'))
  }
}

// 邮箱验证-可以为空
export function validateEmailIs (value, callback) {
  if (!value) {
    callback()
  } else {
    const reg = /^(([^<>()[]\\.,;:\s@"]+(\.[^<>()[]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    if (reg.test(value)) {
      callback()
    } else {
      return callback(new Error('请输入正确的邮箱'))
    }
  }
}
// 邮箱验证-不能为空
export function validateEmail (value, callback) {
  if (!value) {
    callback(new Error('请输入邮箱'))
  } else {
    const reg = /^(([^<>()[]\\.,;:\s@"]+(\.[^<>()[]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    if (reg.test(value)) {
      callback()
    } else {
      return callback(new Error('请输入正确的邮箱'))
    }
  }
}

// 设置表格的高度
export function tabelHeightFun () {
  const dom = document.querySelector('#table-height-dom')
  let parentTop = 0
  if (dom) {
    if (dom.offsetParent) {
      parentTop = dom.offsetParent.offsetTop
    }
    const clientHeight = document.body.offsetHeight
    const offsetTop = dom.offsetTop
    const fallHeight = clientHeight - offsetTop - 95 - parentTop
    return fallHeight
  }
}

// 去掉空格
export function trimFun (formData) {
  formData = formData.replace(/\s*/g, '')
  return formData
}
